home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 25 / Cream of the Crop 25.iso / bbs / fcfgw40s.zip / GLOBALFI.CPP < prev    next >
C/C++ Source or Header  |  1996-04-19  |  7KB  |  239 lines

  1. // GlobalFile.cpp : implementation file
  2. //
  3.  
  4. #include "stdafx.h"
  5. #include "FileCFG.h"
  6. #include "GlobalFile.h"
  7. #include "proboard.h"
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. #ifdef _DEBUG
  12. #define new DEBUG_NEW
  13. #undef THIS_FILE
  14. static char THIS_FILE[] = __FILE__;
  15. #endif
  16.  
  17. /////////////////////////////////////////////////////////////////////////////
  18. // CGlobalFile dialog
  19.  
  20. const char *CGlobalFile::m_StrNoName = "╖╖╖<empty definition>╖╖╖";
  21.  
  22. CGlobalFile::CGlobalFile(CWnd* pParent /*=NULL*/)
  23.     : CDialog(CGlobalFile::IDD, pParent)
  24. {
  25.     //{{AFX_DATA_INIT(CGlobalFile)
  26.     m_AllGroups = 2;
  27.     m_CDROM = 2;
  28.     m_Free = 2;
  29.     m_Tops = 2;
  30.     m_CheckGroup1 = FALSE;
  31.     m_CheckGroup2 = FALSE;
  32.     m_CheckGroup3 = FALSE;
  33.     m_CheckGroup4 = FALSE;
  34.     m_CheckLevel = FALSE;
  35.     m_CheckListEdit = FALSE;
  36.     m_CheckFileLocation = FALSE;
  37.     m_CheckMaxBytes = FALSE;
  38.     m_CheckMaxFiles = FALSE;
  39.     m_CheckMinAge = FALSE;
  40.     m_Group1 = 0;
  41.     m_Group2 = 0;
  42.     m_Group3 = 0;
  43.     m_Group4 = 0;
  44.     m_ListReplace = _T("");
  45.     m_ListWith = _T("");
  46.     m_LocationReplace = _T("");
  47.     m_LocationWith = _T("");
  48.     m_MaxBytes = 0;
  49.     m_MaxFiles = 0;
  50.     m_MinAge = 0;
  51.     m_Level = 0;
  52.     //}}AFX_DATA_INIT
  53. }
  54.  
  55.  
  56. void CGlobalFile::DoDataExchange(CDataExchange* pDX)
  57. {
  58.     CDialog::DoDataExchange(pDX);
  59.     //{{AFX_DATA_MAP(CGlobalFile)
  60.     DDX_Control(pDX, IDC_COMBO_GROUP4, m_ListGroup4);
  61.     DDX_Control(pDX, IDC_COMBO_GROUP3, m_ListGroup3);
  62.     DDX_Control(pDX, IDC_COMBO_GROUP2, m_ListGroup2);
  63.     DDX_Control(pDX, IDC_COMBO_GROUP1, m_ListGroup1);
  64.     DDX_Check(pDX, IDC_CHECK_FLAGS_ALL_GROUPS, m_AllGroups);
  65.     DDX_Check(pDX, IDC_CHECK_FLAGS_CDROM, m_CDROM);
  66.     DDX_Check(pDX, IDC_CHECK_FLAGS_FREE, m_Free);
  67.     DDX_Check(pDX, IDC_CHECK_FLAGS_TOPS, m_Tops);
  68.     DDX_Check(pDX, IDC_CHECK_GROUP1, m_CheckGroup1);
  69.     DDX_Check(pDX, IDC_CHECK_GROUP2, m_CheckGroup2);
  70.     DDX_Check(pDX, IDC_CHECK_GROUP3, m_CheckGroup3);
  71.     DDX_Check(pDX, IDC_CHECK_GROUP4, m_CheckGroup4);
  72.     DDX_Check(pDX, IDC_CHECK_LEVEL, m_CheckLevel);
  73.     DDX_Check(pDX, IDC_CHECK_LIST, m_CheckListEdit);
  74.     DDX_Check(pDX, IDC_CHECK_LOCATION, m_CheckFileLocation);
  75.     DDX_Check(pDX, IDC_CHECK_MAX_BYTES, m_CheckMaxBytes);
  76.     DDX_Check(pDX, IDC_CHECK_MAX_FILES, m_CheckMaxFiles);
  77.     DDX_Check(pDX, IDC_CHECK_MIN_AGE, m_CheckMinAge);
  78.     DDX_CBIndex(pDX, IDC_COMBO_GROUP1, m_Group1);
  79.     DDX_CBIndex(pDX, IDC_COMBO_GROUP2, m_Group2);
  80.     DDX_CBIndex(pDX, IDC_COMBO_GROUP3, m_Group3);
  81.     DDX_CBIndex(pDX, IDC_COMBO_GROUP4, m_Group4);
  82.     DDX_Text(pDX, IDC_EDIT_LIST_REPLACE, m_ListReplace);
  83.     DDV_MaxChars(pDX, m_ListReplace, 79);
  84.     DDX_Text(pDX, IDC_EDIT_LIST_WITH, m_ListWith);
  85.     DDV_MaxChars(pDX, m_ListWith, 79);
  86.     DDX_Text(pDX, IDC_EDIT_LOCATION_REPLACE, m_LocationReplace);
  87.     DDV_MaxChars(pDX, m_LocationReplace, 79);
  88.     DDX_Text(pDX, IDC_EDIT_LOCATION_WITH, m_LocationWith);
  89.     DDV_MaxChars(pDX, m_LocationWith, 79);
  90.     DDX_Text(pDX, IDC_EDIT_MAX_BYTES, m_MaxBytes);
  91.     DDV_MinMaxInt(pDX, m_MaxBytes, 0, 65535);
  92.     DDX_Text(pDX, IDC_EDIT_MAX_FILES, m_MaxFiles);
  93.     DDV_MinMaxInt(pDX, m_MaxFiles, 0, 65535);
  94.     DDX_Text(pDX, IDC_EDIT_MIN_AGE, m_MinAge);
  95.     DDV_MinMaxByte(pDX, m_MinAge, 0, 255);
  96.     DDX_Text(pDX, IDC_EDIT_LEVEL, m_Level);
  97.     DDV_MinMaxInt(pDX, m_Level, 0, 65535);
  98.     //}}AFX_DATA_MAP
  99. }
  100.  
  101.  
  102. BEGIN_MESSAGE_MAP(CGlobalFile, CDialog)
  103.     //{{AFX_MSG_MAP(CGlobalFile)
  104.     ON_BN_CLICKED(IDC_CHECK_GROUP1, OnCheckGroup1)
  105.     ON_BN_CLICKED(IDC_CHECK_GROUP2, OnCheckGroup2)
  106.     ON_BN_CLICKED(IDC_CHECK_GROUP3, OnCheckGroup3)
  107.     ON_BN_CLICKED(IDC_CHECK_GROUP4, OnCheckGroup4)
  108.     ON_BN_CLICKED(IDC_CHECK_LEVEL, OnCheckLevel)
  109.     ON_BN_CLICKED(IDC_CHECK_LIST, OnCheckList)
  110.     ON_BN_CLICKED(IDC_CHECK_LOCATION, OnCheckLocation)
  111.     ON_BN_CLICKED(IDC_CHECK_MAX_BYTES, OnCheckMaxBytes)
  112.     ON_BN_CLICKED(IDC_CHECK_MAX_FILES, OnCheckMaxFiles)
  113.     ON_BN_CLICKED(IDC_CHECK_MIN_AGE, OnCheckMinAge)
  114.     //}}AFX_MSG_MAP
  115. END_MESSAGE_MAP()
  116.  
  117. /////////////////////////////////////////////////////////////////////////////
  118. // CGlobalFile message handlers
  119.  
  120. BOOL CGlobalFile::OnInitDialog() 
  121. {
  122.     CFile      file;
  123.     char       path[_MAX_PATH];
  124.     TFileGroup group;
  125.     int        nGroups = 0;
  126.  
  127.     CDialog::OnInitDialog();
  128.  
  129.     // now load some group defintions in the lists
  130.     sprintf(path, "%s\\FGROUPS.PB", getenv("PROBOARD"));
  131.     if( !file.Open(path, CFile::modeRead|CFile::typeBinary|CFile::shareDenyWrite) ){
  132.         MessageBox("Unable to load group definitions.", "FileCFG/95",MB_OK|MB_ICONSTOP);
  133.         OnCancel();
  134.         return TRUE;    // hardly necessary, OnCancel() will close it
  135.     }
  136.     UINT nBytes = file.Read(&group, sizeof(group));
  137.     while( sizeof(group) == nBytes ){
  138.         CString name;
  139.  
  140.         if( '\0' == group.name[0] ) name = m_StrNoName;
  141.         else{
  142.             name = group.name;
  143.             name.OemToAnsi();
  144.         }
  145.         m_ListGroup1.AddString(name);
  146.         m_ListGroup2.AddString(name);
  147.         m_ListGroup3.AddString(name);
  148.         m_ListGroup4.AddString(name);
  149.         nBytes = file.Read(&group, sizeof(group));
  150.     }
  151.     file.Close();
  152.  
  153.     m_Group1 = m_Group2 = m_Group3 = m_Group4 = 0;
  154.     UpdateData(FALSE);
  155.     return TRUE;
  156. }
  157.  
  158. void CGlobalFile::OnCheckGroup1() 
  159. {
  160.     UpdateData(TRUE);    // get data from control
  161.     if( m_CheckGroup1 ) GetDlgItem(IDC_COMBO_GROUP1)->EnableWindow(TRUE);
  162.     else GetDlgItem(IDC_COMBO_GROUP1)->EnableWindow(FALSE);
  163. }
  164.  
  165. void CGlobalFile::OnCheckGroup2() 
  166. {
  167.     UpdateData(TRUE);    // get data from control
  168.     if( m_CheckGroup2 ) GetDlgItem(IDC_COMBO_GROUP2)->EnableWindow(TRUE);
  169.     else GetDlgItem(IDC_COMBO_GROUP2)->EnableWindow(FALSE);
  170. }
  171.  
  172. void CGlobalFile::OnCheckGroup3() 
  173. {
  174.     UpdateData(TRUE);    // get data from control
  175.     if( m_CheckGroup3 ) GetDlgItem(IDC_COMBO_GROUP3)->EnableWindow(TRUE);
  176.     else GetDlgItem(IDC_COMBO_GROUP3)->EnableWindow(FALSE);
  177. }
  178.  
  179. void CGlobalFile::OnCheckGroup4() 
  180. {
  181.     UpdateData(TRUE);    // get data from control
  182.     if( m_CheckGroup4 ) GetDlgItem(IDC_COMBO_GROUP4)->EnableWindow(TRUE);
  183.     else GetDlgItem(IDC_COMBO_GROUP4)->EnableWindow(FALSE);
  184. }
  185.  
  186. void CGlobalFile::OnCheckLevel() 
  187. {
  188.     UpdateData(TRUE);
  189.     if( m_CheckLevel ) GetDlgItem(IDC_EDIT_LEVEL)->EnableWindow(TRUE);
  190.     else GetDlgItem(IDC_EDIT_LEVEL)->EnableWindow(FALSE);
  191. }
  192.  
  193. void CGlobalFile::OnCheckList() 
  194. {
  195.     UpdateData(TRUE);
  196.     if( m_CheckListEdit ){
  197.         GetDlgItem(IDC_EDIT_LIST_REPLACE)->EnableWindow(TRUE);
  198.         GetDlgItem(IDC_EDIT_LIST_WITH)->EnableWindow(TRUE);
  199.     }
  200.     else{
  201.         GetDlgItem(IDC_EDIT_LIST_REPLACE)->EnableWindow(FALSE);
  202.         GetDlgItem(IDC_EDIT_LIST_WITH)->EnableWindow(FALSE);
  203.     }
  204. }
  205.  
  206. void CGlobalFile::OnCheckLocation() 
  207. {
  208.     UpdateData(TRUE);
  209.     if( m_CheckFileLocation ){
  210.         GetDlgItem(IDC_EDIT_LOCATION_REPLACE)->EnableWindow(TRUE);
  211.         GetDlgItem(IDC_EDIT_LOCATION_WITH)->EnableWindow(TRUE);
  212.     }
  213.     else{
  214.         GetDlgItem(IDC_EDIT_LOCATION_REPLACE)->EnableWindow(FALSE);
  215.         GetDlgItem(IDC_EDIT_LOCATION_WITH)->EnableWindow(FALSE);
  216.     }
  217. }
  218.  
  219. void CGlobalFile::OnCheckMaxBytes() 
  220. {
  221.     UpdateData(TRUE);
  222.     if( m_CheckMaxBytes ) GetDlgItem(IDC_EDIT_MAX_BYTES)->EnableWindow(TRUE);
  223.     else GetDlgItem(IDC_EDIT_MAX_BYTES)->EnableWindow(FALSE);
  224. }
  225.  
  226. void CGlobalFile::OnCheckMaxFiles() 
  227. {
  228.     UpdateData(TRUE);
  229.     if( m_CheckMaxFiles ) GetDlgItem(IDC_EDIT_MAX_FILES)->EnableWindow(TRUE);
  230.     else GetDlgItem(IDC_EDIT_MAX_FILES)->EnableWindow(FALSE);
  231. }
  232.  
  233. void CGlobalFile::OnCheckMinAge() 
  234. {
  235.     UpdateData(TRUE);
  236.     if( m_CheckMinAge ) GetDlgItem(IDC_EDIT_MIN_AGE)->EnableWindow(TRUE);
  237.     else GetDlgItem(IDC_EDIT_MIN_AGE)->EnableWindow(FALSE);
  238. }
  239.